import React from 'react';
import BasicLayout from './BasicLayout'; // 基础layout布局
import SubNavLayout from './SubNavLayout'; // 系统内显示页面
import Authorized from '@/components/Authorized/index'; //路由权限组件
// import { AliveScope } from 'react-activation';
import routes from './_defaultProps';
import './index.less';
export default (props) => {
  const {
    location: { pathname },
  } = props;
  // console.log(props);
  // 连接默认路由和配置路由
  let defaultPropsRouter = [];
  try {
    defaultPropsRouter = routes.concat(
      JSON.parse(localStorage.getItem('resource')),
    );
  } catch (error) {
    console.log('err :>> ', err);
  }

  // 针对不同路由输出不同的全局layout，Umi 不支持这样的配置
  // 但你仍可以在 src/layouts/index 中对 location.path 做区分，渲染不同的 layout 。
  if (/\/features\/login/i.test(pathname)) {
    return <div>{props.children}</div>;
  }
  // 区别系统内不需要 tab分组的页面。eg：消息中心
  const renderChild = (children) => {
    const noSecondaryNavigation = /\/messageCenter|\/barChartCenter/i;
    if (noSecondaryNavigation.test(pathname)) {
      return children;
    } else {
      return <SubNavLayout menuData={defaultPropsRouter} {...props} />;
    }
  };
  return (
    <Authorized pathname={pathname} menuData={defaultPropsRouter}>
      <BasicLayout {...props} menuData={defaultPropsRouter}>
        {renderChild(props.children)}
      </BasicLayout>
    </Authorized>
  );
};
